package com.mrjy.coursepackage.bo;

import com.mrjy.common.entity.CoursePackageVip;
import com.mrjy.coursepackage.dto.CoursePackageVipDTO;

/**
 * 课程包购买信息 业务类
 * @author csshui
 *
 */
public interface ICoursePackageVipBo {
	/**
	 * 新增记录
	 * @param vip
	 * @return
	 */
	public Object txInsert(CoursePackageVip vip);
	/**
	 * 全部修改，不管值是否为空
	 * @param vip
	 * @return
	 */
	public Object txUpdate(CoursePackageVip vip);
	/**
	 * 只修改不为空的值
	 * @param vip
	 * @return
	 */
	public Object txUpdateById(CoursePackageVip vip);
	
	public Object txDelete(Integer id);
	
	public Object selectById(Integer id);
	/**
	 * 通过coursePackageId和userId 查询是否有购买过课程包
	 * @param coursePackageId  userId
	 * @return
	 */
	public Object isCoursePackageVip(CoursePackageVip info);
	/**
	 * 定时器调用 检查并更新课程包会员过期的状态
	 * @return
	 */
	public Object txCheckCoursePackageVipExpired();
	/**
	 * 定时器调用 检查课程包会员离过期还有numDate天的记录
	 * @param numDate
	 * @return
	 */
	public Object checkCoursePackageVipWillExpire(int numDate);
	
	public Object isCoursePackageVipByVideoIdAndUserId(CoursePackageVipDTO info);
	
	public Object checkCoursePackageVipWillExpire3Day(int numDate);
	public Object hasPayCoursepackage(Integer userId);

    Object queryUserPaidCPByUserid(CoursePackageVip vip);

}
